from django.db import models
from django.contrib.auth.models import User,Group
from django.conf import settings
from wikicamp.worklist.models import MyUser,kullanicilar,kullanicigrup
import os
# Create your models here.


class Tag(models.Model):
    name = models.CharField(max_length=150)
                             
    def __unicode__(self):
        return self.name
    
class Categories(models.Model):
    sno = models.IntegerField()
    parent_id = models.IntegerField()
    aciklama = models.CharField(max_length=200)
    grup = models.ManyToManyField(Group,null=True,blank=True)
    
    def __unicode__(self):
        return self.aciklama
    

class Document(models.Model):
    caption = models.CharField(max_length=200, blank=True)
    document = models.FileField(upload_to=settings.MEDIA_ROOT, null=True, blank=True)
    tag = models.ManyToManyField(Tag,null=True,blank=True)
    category = models.ForeignKey(Categories)
    created_on = models.DateTimeField()
    created_by = models.ForeignKey(MyUser, related_name='doc_created_by')
    usergroup = models.ManyToManyField(Group, null= True, blank= True)
    def __unicode__(self):
        return self.caption
    
class Users(kullanicilar):
    class Meta:
        permissions = (
            ("kategori_olusturma", "Kategorileri olusturabilir"),
            ("kategori_duzenleme", "Kategorileri duzenleyebilir"),
            ("kategori_silme","Kategorieri silebilir"),
            ("belge_olusturma","Belge olusturabilir"),
            ("belge_okuyabilir","Belgeyi indirip okuyabilir"),
            ("belge_kat_duzenleme","Belge kategorisini degistirebilir"),
            ("belge_silebilir","Belge silebilir"),
            ("belge_icerik_duzenleme","Belgeyi indirip degistirebilir"),
            ("belge_goruntuleme","Kategorideki belgeleri goruntuleyebilir"),
            ("etiket_olusturma","Belge etiketleri olustabilir"),
            ("belge_tum_liste","Belgeleri yetki bagimsiz gorebilir")
        )
    
    def __unicode__(self):
        return self.ack